package com.alibaba.citrus.cr.mn.order.center.facade.repository;

import com.epoch.app.crforecastsales.model.dto.BatchUpdateForAnalysisDTO;
import com.epoch.app.crforecastsales.model.dto.BatchUpdateForCloseRequest;
import com.epoch.app.crforecastsales.sdo.ForecastOrderLineSDO;
import com.epoch.app.mnordercenter.model.dto.Modifiers;

import java.util.List;

public interface ForecastOrderLineWriteRepository {
    String save(ForecastOrderLineSDO forecastOrderLineSDO);

    Integer modify(ForecastOrderLineSDO orderLineFeatures);

    Boolean submit(ForecastOrderLineSDO forecastOrderLineSDO);

    Boolean updateReplyQuantity(ForecastOrderLineSDO forecastOrderLineSDO);

    Boolean updateForAnalysis(ForecastOrderLineSDO forecastOrderLineSDO);

    Boolean update(ForecastOrderLineSDO forecastOrderLineSDO);

    Boolean updateForAnalysis(BatchUpdateForAnalysisDTO batchUpdateForAnalysisDTO);

    Boolean batchUpdateForClose(BatchUpdateForCloseRequest batchUpdateForCloseRequest);

    Boolean batchUpdateStatusByIds(List<ForecastOrderLineSDO> forecastOrderLineSDOS, Modifiers modifier);

    Boolean batchModify(List<ForecastOrderLineSDO> updateList);

    Boolean batchAdd(List<ForecastOrderLineSDO> addList);

    Boolean batchDelete(List<ForecastOrderLineSDO> deleteList);

    Boolean remove(ForecastOrderLineSDO forecastOrderLineSDO);
}
